// 定义变量
var str: string = '字符串'
var num: number = 20
var flag: boolean = false
var un: undefined = undefined
var nu: null = null

// 修改变量的值
str = '字符串2' // str = undefined | str = null

// void规定函数无返回值
var callback = function (): void {

}

// any：示允许赋值为任意类型-- 任意类型的变量可以赋值任何类型的值
var data: any = 100
data = '100'

// 变量如果在声明的时候，未指定其类型，未赋初始值， 那么它会被识别为任意值类型
var data2; // 没有赋值操作，就会被认为任意值类型 等价于 var data2:any;
// 可以赋值任意类型的值
data2 = '100'

// 有赋初始值，未指定类型，会被推断为赋值的类型
var data3 = 200; // data3 被推断为number类型
// data3 = '200' //  报错
